<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2021-10-15</title>
</head>

<body>
    <script>
        //1. 将一个JS数组通过for循环的方式, 生成一个反转过来的数组

        var stu = ['tom', 'berry', 'ketty', 'rose', 'jake'];
        var result = [];
        for (let i = 0; i < stu.length; i++) {
            const element = stu[i];
            result.unshift(element);
        }
        console.log(result);


        //2.  分别写三个函数, 分别通过while, for, for(x in countries)三种方法, 将数组连接成一个字符串, 注意:不是使用js自带的方法
        var countries = ["中国", "美国", "英国", "法国", "巴西", "墨西哥"];
        // while
        var str = countries[0];
        var index = 1;
        while (index < countries.length) {
            str += ',' + countries[index];
            index++;
        }
        console.log(str);
        // for
        var str1 = countries[0];
        for (let i = 1; i < countries.length; i++) {
            const element = countries[i];
            str1 += ',' + element;
        }
        console.log(str1);
        //for(x in contries)
        var str2 = '';
        for (const key in countries) {
            const element = countries[key];
            if (key == 0) {
                str2 += element;
            } else {
                str2 += ',' + element;
            }
        }
        console.log(str2);

        //3.写一个函数, 判断一个字符串是否在数组中, 在返回true, 不在返回false
        function strInArray(arr, str) {
            for (const key in arr) {
                const element = arr[key];
                if (element === str) {
                    return true;
                }

            }
            // for (var i = 0; i < arr.length; i++) {
            //     if (arr[i] === str) {
            //         return true;
            //     }
            // }
            return false;
        }
        var countries = ["中国", "美国", "英国", "法国", "巴西", "墨西哥"];
        console.log(strInArray(countries, "中国"));


        //4.假设某人有100000元钱, 每到一个学校, 都需要做些捐赠, 当他的现金 > 50000元时, 他每次捐献 5%,  
        //反之, 每次捐献2000, 直到剩下的钱不够2000元, 停止捐献, 请问 这个大慈善家 一共可以 做多少次捐献

        for (var count = 0, money = 100000; money >= 2000; count++) {
            if (money > 50000) {
                money -= money * 0.05;
            } else {
                money -= 2000;
            }
        }
        console.log(count);


        //5.定义一个数组为每个的存储金额, 通过 循环判断, 得到所有 金额>=6000的人,并将符合条件的人生成一个json格式数组
        var deposit = [{
            "id": 1,
            "names": "小明",
            "money": 8000
        }, {
            "id": 2,
            "names": "小李",
            "money": 9000
        }, {
            "id": 3,
            "names": "小张",
            "money": 6000
        }, {
            "id": 4,
            "names": "小陈",
            "money": 10000
        }, {
            "id": 5,
            "names": "小王",
            "money": 7000
        }, {
            "id": 6,
            "names": "小毛",
            "money": 5000
        }, {
            "id": 7,
            "names": "小赵",
            "money": 5600
        }, {
            "id": 8,
            "names": "小彭",
            "money": 7888
        }, ];
        var arr = [];
        deposit.forEach(element => {
            if (element.money >= 6000 ? element : '') {
                arr.splice(0, 0, element);
            }
        });
        console.log(arr);



        //6. 定义一个函数,  找到提供的句子中最长的单词。
        // 如: I am a good student 结果: student
        function findLongWord(str) {
            // string.split(分隔符)  将字符串转换为数组
            var arr = str.split(" ");
            $str1 = arr[0]
            for (let i = 1; i < arr.length; i++) {
                const element = arr[i];
                if ($str1.length < element.length) {
                    $str1 = element;
                }
            }
            return $str1;
        }
        var str = "I am a good student";
        console.log(findLongWord(str));



        // 7. 定义一个函数, 确保字符串的每个单词首字母都大写， 其余部分小写。
        // I am a good student 结果: I Am A Good Student;
        function firstWordUpper(str) {
            var str1 = '';
            var arr = str.split(" ");
            arr.forEach(element => {
                element = element.slice(0, 1).toUpperCase() + element.slice(1);
                // element = element.substring(0, 1).toUpperCase() + element.substring(1);
                str1 += element + " ";
            });
            console.log(str1);
        }
        var str = "I am a good student";
        firstWordUpper(str);


        // 8. 给出一个数组, 每次刷新浏览器, 生成随机的4个值
        var Arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "A", "B", "c", "D", "E", "F", "G", "H"];
        var arr = [];
        for (let i = 0; i < 4; i++) {
            // Math.random()随机生成一个0-1之间的数
            // Math.floor向下取整， 返回小于或等于给定数字的最大整数
            //splice(起始位置，删除个数，插入的值) 指定位置删除或插入元素
            arr.splice(i, 0, Arr[Math.floor(Math.random() * Arr.length)]);
        }
        console.log(arr);
    </script>
</body>

</html>

</html>